package nsu.edu.zsq.service.sys;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.multipart.MultipartFile;

import com.github.pagehelper.PageInfo;

import nsu.edu.zsq.bean.SchRoom;
import nsu.edu.zsq.param.PageQuery;

/** 
* Description: 学校教室的service类<br>
*/
public interface SchRoomService {

    /**
     * 通过教室id获取一条教室信息
     * @param roomId 教室id
     * @return SchRoom
     */
    public SchRoom getSchRoom(int roomId);
    
    /**
     * 获取学校教学楼列表
     * @return List<String>
     */
    public List<String> listBuildName();
    
    /**
     * 通过教学楼名称，获取教室列表的分页数据
     * @param buildName 教学楼名称
     * @param pageQuery 分页数据
     * @return PageInfo<SchRoom>
     */
    public PageInfo<SchRoom> listSchRoomWithPageByBuildName(String buildName, PageQuery pageQuery);
            
    /**
     * 批量保存教室信息
     * @param listSchRoom 教室信息列表
     */
    public void saveBatchSchRoom(List<SchRoom> listSchRoom);
    
    /**
     * 保存一条教室信息
     * @param schRoom 教室信息
     */
    public void saveSchRoom(SchRoom schRoom);
    
    /**
     * 根据教室名称（roomName）更新教室信息（共25条）
     * @param schRoom 教室信息
     */
    public void updateSchRoom(SchRoom schRoom);
    
    /**
     * 批量删除教室信息
     * @param roomIds 教室id数组
     */
    public void deleteBatchSchRoom(int[] roomIds);
    
    /**
     * 删除一条教室信息
     * @param roomId 教室id
     */
    public void deleteSchRoom(int roomId);
    
    
    
    /**
     * 从excel文件导入教室信息
     * @param excelFile 上传的excel文件
     */
    public void importSchRoomFromExcel(MultipartFile excelFile);
    
    /**
     * 导出教室信息到excel文件
     * @param response
     */
    public void exportSchRoomToExcel(HttpServletResponse response);
}
